<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //构造函数创建对象
        // function Person() {
        //     this.name = 'kevin'
        // }
        // let person1 = new Person()
        // console.log(person1.name)
        function Person() {

        }
        let arr = ['1','2',3]
        Person.prototype.name = 'kiven'
        let p = new Person()
        console.dir(Person)
        // console.dir(arr)
        // console.log(p.constructor === Person)
        // console.log(p.__proto__ == Person.prototype)
        // prototype
        // 什么是原型？
        // JavaScript对象（null除外），在创建的时候就会与之关联另一个对象，这个对象就是所谓的原型(prototype)，每个对象都会从原型继承属性。
        console.log(Person.prototype == p.__proto__)
        console.log(p.constructor === Person.prototype.constructor )
        console.log(Person === Person.prototype.constructor )
        console.log(p.constructor == Person)
        // 那我们该怎么表示实例与实例原型，也就是p 与 Person.protptype 之间的关系，这个时候我们就要讲到第二个属性。
        // __proto__
        // 这是每一个对象都具有的一个属性，叫__proto__，这个属性会指向该对象的原型。
        console.log(p.__proto__ === Person.prototype)


    </script>
</body>
</html>